The present application relates to tamper-proof operation of software which may have time-limited authorization.
Note that the points discussed below may reflect the hindsight gained from the disclosed inventions, and are not necessarily admitted to be prior art.
A Real Time Clock (RTC) is a system clock which maintains the date and time even while the system is in an unpowered state. RTCs are used in most computers and complex electronic systems, and are commonly implemented by a battery-backed low-power counter.
The RTC is convenient for the user, since (for example) a computer knows immediately, as soon as it is turned on, what the correct time is. However, RTCs also have an important role in software security.
The fundamental problem with the development and sale of software is control of end use. Since software is an intangible which (unless protected) can be copied, a seller will lose all control as soon as the first copy is released, unless special measures are taken.
Many systems have been developed to limit software operation to a particular system, but a more difficult problem is how to limit operation by time. The logical way to constrain software operation to a particular time interval is to reference the RTC, but the problem is that RTCs can normally be changed by the user. Thus a very common hack is to backdate a computer's RTC to within the authorized period, in order to obtain access to software outside the period of its authorization.
Digital Rights Management (DRM) is the general term for limiting the use of software. A subfield of this is Digital Content Management, where content (typical music or video) is authorized for viewing only during a limited time window. If the time window of use can be securely limited, it is possible for a content owner to rent movies; otherwise the content owner can only sell the content, at best.
Companies which generate valuable applications software would be much better protected if they could license use of their software for a monthly fee, rather than demanding a large flat fee for a permanent license. The net present value of a continuing monthly payment of (for example) $20 per month would be more than $1000, and many users would be far more likely to pay such a monthly fee than the equivalent lump sum. The availability of expensive software at low monthly fees has the potential to convert a large fraction of the black market into legitimate paid licensees, which would be a great economic benefit to the licensors and to many licensees. Note that the monthly fees are very easily enforceable, simply by withholding authorization for the monthly renewal. Also note that a software license could be denominated as an installment sale, and booked as such, even if the licensee pays only in monthly installments.
Typically calibration of the RTC itself is not required. Instead, a nonvolatile time offset register is used to store corrections. The operating system can also keep track of time zone changes separately.